Automated Software Test Data Generation
نویسنده
چکیده
Abstracr-Test data generation in program testing is the process of identifying a set of test data which satisfies given testing criterion. Most of the existing test data generators 161, [It], [lo], [16], [30] use symbolic evaluation to derive test data. However, in practical programs this technique frequently requires complex algebraic manipulations, especially in the presence of arrays. In this paper we present an alternative approach of test data generation which is based on actual execution of the program under test, function minimization methods, and dynamic data flow analysis. Test data are developed for the program using actual values of input variables. When the program is executed, the program execution flow is monitored. If during program execution an undesirable execution flow is observed (e.g., the “actual” path does not correspond to the selected control path) then function minimization search algorithms are used to automatically locate the values of input variables for which the selected path is traversed. In addition, dynamic data Bow analysis is used to determine those input variables responsible for the undesirable program behavior, leading to significant speedup of the search process. The approach of generating test data is then extended to programs with dynamic data structures, and a search method based on dynamic data flow analysis and backtracking is presented. In the approach described in this paper, values of array indexes and pointers are known at each step of program execution, and this approach exploits this information to overcome difficulties of array and pointer handling; as a result, the effectiveness of test data generation can be significantly improved.
منابع مشابه
A Survey on Generation of Automated Test Data for Coupling Based Integration Testing
In software engineering, software testing plays a vital role in improvement of software. In software testing, Test data generation is a standout amongst the most significant and crucial phases. Software testing is not possible without adequate test data. Software testing can be performed by using different test cases like, unit testing, integration testing, or system level testing. The first ph...
متن کاملAutomated Software Test Data Generation for Data Flow Dependencies using Genetic Algorithm
Software testing is one of the most labor-intensive and expensive phase of the software development life cycle. Software testing includes test case generation and test suite optimization that has a strong impact on the effectiveness and efficiency of software testing. Over the past few decades, there has been active research to automate the process of test case generation but the attempts have ...
متن کاملAutomated Test Data Generation Based On Individual Constraints and Boundary Value
Testing is an important activity in software development. Unfortunately till today testing is done manually by most of the industry due to high cost and complexity of automation. Automated testing can reduce the cost of software significantly. Automated Software Test Data Generation is an activity that in the course of software testing automatically generates test data for the software under te...
متن کاملData Generation Techniques for Automated Software Robustness T
Commercial software components are being used in an increasingly large number of critical applications. Hospitals, military organizations, banks, and others are relying on the robust behavior of software they did not write. Due to the high cost of manual software testing, automated software testing is a desirable, yet difficult goal. One of the difficulties of automated software testing is the ...
متن کاملAutomated Software Test Data Generation: Direction of Research
In this paper we are giving an overview of automatic test data generation. The basic objective of this paper is to acquire the basic concepts related to automated test data generation research. The different implementation techniques are described with their relative merits and demerits. The future challenges and problems of test data generation are explained. Finally we describe the area where...
متن کاملAn Efficient Slicing Approach for Test Case Generation
Automated test data generation is a challenging task in software engineering research. Despite all the advancement, software testing continues to be the most time and resource consuming aspect of software development. One aspect of Automated Testing is generation of test data for each predicate involved in the Unified Modeling Language (UML) diagram of the modeled software. The test data genera...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IEEE Trans. Software Eng.
دوره 16 شماره
صفحات -
تاریخ انتشار 1990